﻿using System;
using System.Net;
using System.Windows;
using System.Windows.Controls;
using System.Windows.Documents;
using System.Windows.Ink;
using System.Windows.Input;
using System.Windows.Media;
using System.Windows.Media.Animation;
using System.Windows.Shapes;
using System.Collections.Generic;

namespace HasuSLLib.Attributes
{

    public enum LookupServiceType
    {
        StaticMethod,
        WebService
    }

    [global::System.AttributeUsage(AttributeTargets.Class , Inherited = false, AllowMultiple = true)]
    public class LookupAttribute : Attribute
    {
        readonly string _serviceName;
        readonly string _methodName;
        readonly LookupServiceType  _serviceType;


        public LookupAttribute(LookupServiceType  serviceType ,string serviceName, string methodName )
        {
            this._serviceName = serviceName;
            this._methodName = methodName;
            this._serviceType = serviceType;
        }

        /// <summary>
        /// ServiceName web service or static class name
        /// </summary>
        /// <value>The name of the service.</value>
        public string ServiceName
        {
            get { return _serviceName; }
        }


        /// <summary>
        /// Gets the name of the method.
        /// </summary>
        /// <value>The name of the method.</value>
        public string MethodName
        {
            get { return _methodName; }
        }


        /// <summary>
        /// Gets the type of the web service or static class type.
        /// </summary>
        /// <value>The type of the service.</value>
        public LookupServiceType ServiceType
        {
            get { return _serviceType; }
        }
    }
}
